var test_number = /^[0-9]*$/; //检查数字正则
var test_phone = /^[1][3-9]\d{9}$/; //检查手机号码正则
var ajax_url = "/brand/Api/forward";

window.getUrlParam = function (key) {
    return decodeURIComponent((new RegExp('[?|&]' + key + '=' + '([^&;]+?)(&|#|;|$)').exec(location.href) || [, ""])[1].replace(/\+/g, '%20')) || null;
}

window.ajax = function (opts) {
    window.loading();
    opts.data["url"] = opts.url;
    $.ajax({
        url: ajax_url,
        type: opts.type ? opts.type : 'POST',
        data: opts.data ? opts.data : "",
        dataType: opts.dataType ? opts.dataType : "json",
        async: opts.type === false ? opts.type : true,
        success: function (d) {
            window.unloading();
            // 如果返回的json是字符串格式则执行下列处理方法
            var data_type = opts.dataType ? opts.dataType : "json";
            if (data_type == "json" && typeof (d) == 'string') {
                d = JSON.parse(d);  // 将字符串解析成json对象
            }
            opts.success(d);
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            window.unloading();
            opts.error(XMLHttpRequest, textStatus, errorThrown);
        }
    });
}

window.loading = function () {
    $("#loading").show();
}

window.unloading = function () {
    $("#loading").hide();
}

window.getTemplate = function (tp_arr) {
    var html_str = "";
    $.each(tp_arr, function (index, url) {
        $.ajax({
            url: url,
            async: false,
            success: function (d) {
                html_str += d;
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                console.log('找不到索引（' + index + '）: ' + url + ' 模板,请检查');
            }
        });
    });
    if (html_str !== "") {
        html_str = "<div class='container'>" + html_str + "</div>";
    }
    return html_str;
}

window.custom_toast_second = 0;
window.custom_toast_timer;

window.custom_toast = function (msg) {
    $('#myAlert strong').html(msg);
    if (window.custom_toast_second == 0) {
        window.custom_toast_second = 3;
        window.custom_toast_timer = setInterval(function () {
            window.custom_toast_count_down();
        }, 1000);
    } else {
        window.custom_toast_second = 2;
    }
    $('#myAlert').attr("class","alert alert-warning");
}

window.custom_toast_close = function () {
    if (window.custom_toast_second < 2) {
        $('#myAlert').attr("class","hide");
    }
}

window.custom_toast_count_down = function () {
    if (window.custom_toast_second > 0) {
        window.custom_toast_second--;
    } else {
        clearInterval(window.custom_toast_timer);
        window.custom_toast_close();
    }
}

window.formatMoney = function (n, tf) {
    if (typeof (tf) == 'undefined') {
        tf = 0;
    }
    if (typeof (n) != 'number') {
        return n.toFixed(tf);
    } else {
        return (n.toFixed(tf) + '').replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,');
    }
}

// 对Date的扩展，将 Date 转化为指定格式的String
// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符，
// 年(y)可以用 1-4 个占位符，毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
// 例子：
// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") // ==> 2016-07-02 08:09:04.423
// (new Date()).Format("yyyy-M-d h:m:s.S")      // ==> 2016-7-2 8:9:4.18
Date.prototype.Format = function (fmt) {
    var o = {
        "M+": this.getMonth() + 1, //月份
        "d+": this.getDate(), //日
        "h+": this.getHours(), //小时
        "m+": this.getMinutes(), //分
        "s+": this.getSeconds(), //秒
        "q+": Math.floor((this.getMonth() + 3) / 3), //季度
        "S": this.getMilliseconds() //毫秒
    };
    if (/(y+)/.test(fmt))
        fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    for (var k in o)
        if (new RegExp("(" + k + ")").test(fmt))
            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    return fmt;
};

/**
 * 获取订单状态描述
 * @param   string  fCFlag          审核状态（0待付款/ 1已审核 / 2已付款 / 3多级审核 / 4草稿）
 * @param   string  fProNtfFlag     生产通知状态（0未通知 / 1已通知 / 2，部分通知 / 3不需生产）
 * @param   string  fOutFlag        发货状态（0未出货 / 1已出货 / 2部分出货）
 * @param   string  fIfClose        订单完结状态（0未关闭 / 1已关闭 ）
 * @param   string  fIfCancel       订单关闭状态（0未取消/ 1已关取消 ）
 * @return  array                   数组列表数据
 */
window.getOrderState = function (fCFlag, fProNtfFlag, fOutFlag, fIfClose, fIfCancel) {
    var name = '无法识别';
    if (fIfCancel == "1") {
        name = '客服取消';
    } else {
        if (fIfClose == "1") {
            name = '已完结';
        } else {
            switch (fOutFlag) {
                case "0":
                    switch (fCFlag) {
                        case "0":
                            name = '待付款';
                            break;
                        case "1":
                        case "2":
                            name = '已付款';
                            switch (fProNtfFlag) {
                                case "0":
                                    name = '已付款';
                                    break;
                                case "1":
                                case "2":
                                case "3":
                                    name = '已排产';
                                    break;
                            }
                            break;
                        default:
                            name = '待审核';
                            break;
                    }
                    break;
                case "1":
                    name = '已出货';
                    break;
                case "2":
                    name = '发货中';
                    break;
            }
        }
    }
    return name;
}

window.poup = function(id){
    if(typeof(id) == "undefined"){
        window.custom_toast("打开弹层失败！");return;
    }
    $(id).removeClass('popu-hide');
}

window.poup_close = function(id){
    if(typeof(id) == "undefined"){
        window.custom_toast("关闭弹层失败！");return;
    }
    $(id).addClass('popu-hide');
}

window.clickUser = function(){
    $(".dropdown-toggle").dropdown('toggle');
}

window.close_custom_alert = function () {
    $('#myAlert').attr('class','hide');
}

window.processChange = function(state){
    var str = state
    var list = window.current['processList'];
    if(str=='无法识别'||typeof (list)=='undefined'||str==''){
        return;
    }
    for(var i=0;i<list.length;i++){
        if(list[i]['title']==str){
            list[i]['active']=true;
            for(var x=0;x<list.length;x++){
                if(list[x]['active']==false){
                    list[x]['active']=true;
                }else{
                    break;
                }
            }
            break;
        }
    }
    window.current['processList']=list;
}

window.left_menu = function(index){
    var left_children_menu = $("#left-children-menu");
    var left_memu_container = $(".left-memu-container");
    var left_memu_container_view = $("#left-children-menu .view" + index);
    var menu_bg_div = $("#menu-bg-div");

    left_memu_container.hide();
    left_memu_container_view.show();

    left_children_menu.removeClass('ng-hide');
    menu_bg_div.show();
}

window.left_close = function(){
    $("#left-children-menu").addClass('ng-hide');
    $("#menu-bg-div").hide();
}